GetNewViewPerspective(RasterViewPerspective,double[],PlaneOrientation) Method

Summary
Gets a new RasterViewPerspective that results from applying a PlaneOrientation to a given RasterViewPerspective and two given direction cosine vectors.
Syntax
C#
VB
C++
Public Overloads Shared Function GetNewViewPerspective( _ 
   ByVal viewPerspectiveOriginal As RasterViewPerspective, _ 
   ByVal imageOrientationVectors() As Double, _ 
   ByVal po As PlaneOrientation _ 
) As RasterViewPerspective 

Parameters

viewPerspectiveOriginal
The input RasterViewPerspective to which the PlaneOrientation will be applied.

imageOrientationVectors
The row and column orientation vectors (or direction cosine vectors) that apply to viewPerspectiveOriginal

po
A PlaneOrientation that is applied to the original RasterViewPerspective

Return Value

The new RasterViewPerspective that results from having the PlaneOrientation applied.

Remarks

The input view perspective is define by two values: the original RasterViewPerspective ( viewPerspectiveOriginal), and a row and column orientation vector ( imageOrientationVectors). This method returns the new RasterViewPerspective that results from applying a PlaneOrientation to the input view perspective.

Example

This example does the following:

  • Creates a coronal PlaneOrientation that corresponds to a horizontal flip
  • Defines orientation vectors that corresponds to a coronal slice
  • Applies the above to a view perspective, and returns the resulting view perspective
C#
VB
using Leadtools.Dicom; 
using Leadtools.Dicom.Common; 
using Leadtools.Dicom.Common.Extensions; 
using Leadtools; 
using Leadtools.Dicom.Common.Linq.BasicDirectory; 
using Leadtools.Dicom.Common.DataTypes; 
 
 
public void GetNewViewPerspectiveExample() 
{ 
   // Create a new coronal PlaneOrientation that corresponds to a horizontal flip 
   PlaneOrientation poCoronal = new PlaneOrientation(); 
   poCoronal.Name = "Coronal or Frontal"; 
 
   // This corresponds to a horizontal flip 
   poCoronal.Top = OrientationAxis.Inferior; 
   poCoronal.Right = OrientationAxis.Right; 
 
   // This condition is ignored 
   TagValueOrientationCondition condition = new TagValueOrientationCondition(DicomTag.ImageOrientationPatient, null); 
   poCoronal.Condition = condition; 
 
   // This specifies a row and column orientation vector that correspond to a coronal slice 
   // Row: (1,0,0) 
   // Col: (0,0,-1) 
   double[] imageOrientationVectors = new double[6] { 1, 0, 0, 0, 0, -1 }; 
 
   // Find the new view perspective 
   RasterViewPerspective newViewPerspective = DicomExtensions.GetNewViewPerspective(RasterViewPerspective.TopLeft, imageOrientationVectors, poCoronal); 
 
   // New view perspective should be BottomLeft 
   Console.WriteLine("newViewPerspective should be BottomLeft\nActual newViewPerspective is " + newViewPerspective.ToString()); 
} 
Imports Leadtools.Dicom 
Imports Leadtools.Dicom.Common 
Imports Leadtools.Dicom.Common.Extensions 
Imports Leadtools.Dicom.Common.Linq 
Imports Leadtools.Dicom.Common.Linq.BasicDirectory 
Imports Leadtools 
Imports Leadtools.Dicom.Common.DataTypes 
 
Public Sub GetNewViewPerspectiveExample() 
   ' Create a new coronal PlaneOrientation that corresponds to a horizontal flip 
   Dim poCoronal As PlaneOrientation = New PlaneOrientation() 
   poCoronal.Name = "Coronal or Frontal" 
 
   ' This corresponds to a horizontal flip 
   poCoronal.Top = OrientationAxis.Inferior 
   poCoronal.Right = OrientationAxis.Right 
 
   ' This condition is ignored 
   Dim condition As TagValueOrientationCondition = New TagValueOrientationCondition(DicomTag.ImageOrientationPatient, Nothing) 
   poCoronal.Condition = condition 
 
   ' This specifies a row and column orientation vector that corresponds to a coronal slice 
   ' Row: (1,0,0) 
   ' Col: (0,0,-1) 
   Dim imageOrientationVectors As Double() = New Double(5) {1, 0, 0, 0, 0, -1} 
 
   ' Find the new view perspective 
   Dim newViewPerspective As RasterViewPerspective = DicomExtensions.GetNewViewPerspective(RasterViewPerspective.TopLeft, imageOrientationVectors, poCoronal) 
 
   ' New view perspective should be BottomLeft 
   MessageBox.Show("newViewPerspective should be BottomLeft" & Constants.vbLf & "Actual newViewPerspective is " & newViewPerspective.ToString()) 
End Sub 
Requirements

Target Platforms

Help Version 21.0.2021.6.30
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom.Common Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.